網絡接口卡 (NIC) 分組是一種對物理網絡適配器進行分組以提高性能和冗余的常用技術。NIC 組合的主要優點是負載平衡(通過網絡重新分配流量)和故障轉移(在系統硬件出現故障時確保網絡連續性),而無需多個物理連接。從本質上講,NIC 組合是一項可以增加正常運行時間的戰略計劃。
什么是 NIC 組合?
將多條網絡電纜從一臺服務器插入多臺物理交換機是在物理服務器的傳統網絡設置中實現容錯的方法。但是,在這種情況下,負載平衡是不存在的,即使服務器始終有多個 Internet 協議 (IP) 地址處于活動狀態也是如此。另一方面,NIC 分組是 Windows Server 的一項功能,它允許將 NIC 分組到組中。團隊成員是用于與交換機通信的網絡適配器。團隊接口是創建團隊時創建的虛擬網絡適配器。因此,NIC 組合保持與多個物理交換機的連接,但使用單個 IP 地址。這確保隨時可用的負載平衡和即時容錯(而不是等待 DNS 記錄超時/更新)。
NIC 組合的好處是什么?
NIC 組合提供的主要好處是更好的負載平衡和更高的容錯能力。
負載均衡
在 NIC 組合的情況下,網絡流量在所有活動 NIC 之間平均平衡。因此,傳出流量會根據目標地址在可用的物理 NIC 之間自動進行負載平衡。傳入流量由將流量路由到服務器的交換機控制。服務器不控制物理 NIC 流量。
容錯性
NIC 組合提供的另一個好處是更高的容錯能力。如果其中一個底層物理 NIC 出現故障或相應 NIC 的電纜被拔掉,主機/服務器會檢測到故障情況并自動將流量轉移到另一個 NIC。這降低了整個網絡出現故障的可能性,從而提高了系統的容錯能力。
什么是網卡綁定模式?
兩種 NIC 綁定模式是獨立于交換機和依賴于交換機。它們在下面解釋。
開關獨立
顧名思義,在Switch Independent模式下,NIC team成員所連接的交換機不知道NIC team的存在。因此,這些交換機不知道如何將網絡流量分配給 NIC 團隊成員,而是將入站網絡流量分配給 NIC 團隊成員。
將交換機獨立模式與動態分配結合使用可根據傳輸控制協議 (TCP) 端口的地址哈希分配網絡流量負載。動態負載平衡算法重新分配流量以優化團隊成員帶寬利用率,以確保單個流量傳輸從一個活躍的團隊成員轉移到另一個。該算法還考慮了重新分配流量導致無序數據包交付的可能性,并采取措施將這種可能性降至最低。
開關依賴
在 Switch Dependent 模式下,連接到 NIC 團隊成員的交換機決定了入站網絡流量在 NIC 團隊成員之間的分配。因此,連接的交換機在確定如何在 NIC 團隊成員之間分配流量方面具有獨立性。所有團隊成員必須連接到同一個物理交換機或共享交換機 ID 的多機箱交換機。Switch Dependent模式還有以下兩個選項:
- 靜態分組:需要手動配置交換機和主機以識別形成團隊的鏈接。由于此配置是靜態的,因此沒有其他協議可以幫助交換機和主機識別錯誤,例如電纜插入不正確。這可能會導致團隊失敗。通常,服務器級交換機支持此模式。
- 鏈路聚合控制協議 (LACP):?LACP 分組動態識別交換機和主機之間連接的鏈路。這反過來又可以自動創建團隊。所有服務器級交換機都支持此模式,但網絡運營商必須在交換機端口上啟用 LACP。NIC teaming 在 LACP 的活動模式下運行,定時器很短,目前還沒有更改定時器或 LACP 模式的機制。
將交換機相關模式與動態分配結合使用可根據動態負載平衡算法修改的傳輸端口地址散列來分配網絡流量負載。該算法重新分配流量,優化團隊成員帶寬利用率,并允許單個流量傳輸從一個活躍的團隊成員轉移到另一個。該算法還降低了無序交付的可能性,但將其可能性考慮在內。
負載平衡模式
NIC teaming的負載均衡分配方式有:
地址哈希
在這種模式下,哈希是根據數據包的地址組件創建的。此散列被分配給可用適配器之一,從而在可用適配器之間創建合理的平衡。
Windows PowerShell 可用于指定散列組件的值,例如:
- 源和目標 TCP 端口以及源和目標 IP 地址。
- 僅源地址和目標地址。
- 僅限源和目標媒體訪問控制 (MAC) 地址。
TCP 端口創建流量流的粒度分布,從而產生更小的流。但是,這不能用于不基于 TCP 或用戶數據報協議 (UDP) 的流量。在這種情況下,哈希使用 IP 地址哈希或 MAC 地址哈希。
Hyper-V 端口
在此模式下,在 Hyper-V 主機上配置的 NIC 組為虛擬機 (VM) 提供獨立的 MAC 地址。VM 的 MAC 地址或連接到 Hyper-V 交換機的 VM 端口用于在 NIC 團隊成員之間分配網絡流量。VM 內創建的網卡組不能配置 Hyper-V 端口負載平衡模式,而是需要地址哈希模式。
動態的
在這種模式下,出站負載根據TCP 端口和IP 地址分配。此模式實時重新平衡負載,以確保給定的出站流量在團隊成員之間來回移動。入站負載的分布方式與 Hyper-V 端口相同。它利用了地址哈希和 Hyper-V 的兩個方面,是性能最高的負載平衡模式。
Linux 網卡組合
NIC 綁定在 Linux 中稱為 NIC 綁定。原理是相同的——在NIC 綁定中,2 個或更多網卡被“綁定”到一個虛擬 NIC 中。要使 NIC 綁定正常工作,您的網絡交換機必須支持 EtherChannel 鏈路聚合架構。這應該不是問題,因為當今大多數網絡交換機都支持 EtherChannel。
Linux網卡綁定有以下幾種模式:
模式 | 政策 | 容錯 | 負載均衡 | 特征 |
模式=0 | 循環法 | 是的 | 是的 | 以循環方式發送/接收數據包的默認模式。 |
模式=1 | 主動備份 | 是的 | 不 | 只有一個次級是活動的。如果活動 NIC 發生故障,則此輔助 NIC 將充當活動 NIC。 |
模式=2 | 異或 (XOR) | 是的 | 是的 | 基于 XOR 公式傳輸。一旦在 NIC 和匹配設備之間建立連接,就使用同一個 NIC 向目標 MAC 發送/接收數據。 |
模式=3 | 播送 | 是的 | 不 | 所有數據包都在所有輔助接口上發送,以實現超可靠網絡。 |
模式=4 | IEEE 802.3 廣告動態鏈路聚合 | 是的 | 是的 | 創建共享相同雙工設置和速度的聚合組。 |
模式=5 | 自適應傳輸負載平衡 (TLB) | 是的 | 是的 | 傳出流量根據每個輔助設備上的當前負載進行分配。 |
模式=6 | 自適應負載平衡 (ALB) | 是的 | 是的 | 接收負載平衡是通過地址解析協議協商實現的。 |
微軟網卡組合
Microsoft 網絡適配器多路復用器協議是用于將 2 個或更多 NIC 鏈接在一起的內核模式設備驅動程序。因此,它使Windows 中的 NIC 組合成為可能。由于 Microsoft 網絡適配器多路復用器是內核級驅動程序,它與 Windows 操作系統和任何其他內核模式驅動程序駐留在相同的地址空間中,使其成為惡意軟件的潛在攻擊媒介。為了解決潛在的安全問題,Microsoft 特意在沒有多個 NIC 的服務器硬件上禁用了此驅動程序。當您在具有 2 個或更多物理網絡接口的硬件中設置 NIC 綁定時,它會自動啟用。